# -*- coding: utf-8 -*-
# @Author  : longbhu
# @Time    : 2025/5/23 11:33
# @Function: 实现将核算好的GEP数据（tif文件），按照规则提取到指定的文件夹
import os
import logging
from logging.handlers import RotatingFileHandler
from calc_region import process_gep_data, rename_xiangCode_replace_provinceCode, create_admin_code_mapping, \
    analyze_tif_files_xiang, combine_excel_files, process_gep_analysis

# 配置日志
# logging.basicConfig(level=logging.ERROR, format='%(asctime)s - %(levelname)s - %(lineno)d - %(message)s',filename='app.log',filemode='w')
# 设置日志格式
log_format = '%(asctime)s - %(levelname)s - %(lineno)d - %(message)s'

# 创建日志记录器
logger = logging.getLogger()
logger.setLevel(logging.INFO)

# 创建控制台处理器
console_handler = logging.StreamHandler()
console_handler.setFormatter(logging.Formatter(log_format))
logger.addHandler(console_handler)

# 创建文件处理器（支持日志轮转）
file_handler = RotatingFileHandler('info_app.log', maxBytes=1024*1024*5, backupCount=3)
file_handler.setFormatter(logging.Formatter(log_format))
logger.addHandler(file_handler)


if __name__ == "__main__":
    # 定义常量
    GEP_RESULT_PATH = r'I:\GEP_result\test'
    GEP_PROJECT_PATH = r'I:\GEP_project'
    SHAPEFILE_PATH = r'E:\shp\2025购买边界shp2021\全国统计乡镇区划'
    # OUTPUT_FOLDER = r'H:\test\36\output'
    EXCEL_PATH = r'H:\GEP_excel_data\V_price\价格表-总表.xlsx'

    # 示例用法
    admin_code = '360000'  # 北京市的行政区划代码
    target_shi_name = None
    target_xian_name = '铅山县'

    process_gep_data(GEP_RESULT_PATH,admin_code, target_shi_name, target_xian_name)
    # 用乡镇的区划代码替换文件名
    rename_xiangCode_replace_provinceCode(GEP_PROJECT_PATH)


"""
level:
含义：设置日志记录的最低级别。低于此级别的日志消息将被忽略。
类型：int 或 str
常见级别：
logging.DEBUG (10)：详细信息，通常用于调试。
logging.INFO (20)：一般信息，如程序运行状态。
logging.WARNING (30)：警告信息，表示可能有问题。
logging.ERROR (40)：错误信息，表示程序运行中出现错误。
logging.CRITICAL (50)：严重错误信息，可能导致程序崩溃。
示例：level=logging.INFO 表示只记录 INFO 及以上级别的日志。

'w'：写模式，每次运行程序时会覆盖之前的日志。
'a'：追加模式，新的日志会追加到文件末尾。
示例：filemode='w' 表示每次运行程序时覆盖之前的日志文件。
"""


